"use strict"

module.exports = (app) => {
  const { router, controller } = app
  const auth = app.middleware.auth({}, app)
  //公共模块
  router.get("/api/captcha", controller.user.captcha) //获取验证码
  router.post("/api/checkCaptcha", controller.user.checkCaptcha) //验证验证码
  router.post("/api/upload/upload", controller.upload.upload) //上传图片
  //微信模块
  router.get("/api/wxuser", controller.wxuser.index) //获取所有微信用户数据
  router.get("/api/wxuser/:id", controller.wxuser.single) //获取单条微信用户数据
  router.get("/api/wxusers/:id", controller.wxuser.getUserLike) //获取单条微信用户喜欢 粉丝 关注数据
  router.post("/api/wxlogin/openid", controller.wxuser.wxOpenId) //获取openId返回前端
  router.post("/api/wxlogin/login", controller.wxuser.wxLogin) //处理小程序登录
  //用户模块
  router.resources("user", "/api/user",auth, controller.user)
  router.get("/api/user/:id",auth, controller.user.single) //获取单条用户数据
  router.post("/api/user/login", controller.user.login) //用户登录
  router.post("/api/user/signup", controller.user.signup) //用户注册
  //角色模块
  router.resources("role", "/api/role", controller.role) //获取角色数据
  router.get("/api/role/:id", controller.role.single) //获取单条角色数据
  router.get("/api/getMenu", controller.role.getRes) //获取资源数据
  router.post("/api/setMenu", controller.role.setRes) //设置角色/资源的关系
  router.get("/api/getUser", controller.role.getUser) //获取用户数据
  router.post("/api/setUser", controller.role.setUser) //设置用户/角色的关系
  //图书模块
  router.resources("book", "/api/book", controller.book) //图书资源
  router.get("/api/book/:id", controller.book.single) //获取单条图书数据
  router.put("/api/editbook", controller.book.editBookCategory) //修改图书的分类
  //图书分类模块
  router.resources("category", "/api/category", controller.category) //图书分类
  router.get("/api/category/:id", controller.category.single) //获取单条图书分类数据
  router.get("/api/categorys/:id", controller.category.getCateGorySingleInfoAll) //获取单条图书分类下的所有书籍
 
  //微信用户与图书
  router.post("/api/userorbook", controller.userorbook.addUserBook) //处理用户与图书的关系
  router.get("/api/userorbooks/:id", controller.userorbook.getUserOrBook) //获取用户阅览过的图书记录
}
